'\" t
.\" Copyright 2008, Linux Foundation, written by Michael Kerrisk
.\"     <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.TH isatty 3 2022-12-15 "Linux man-pages 6.03"
.SH NAME
isatty \- test whether a file descriptor refers to a terminal
.SH LIBRARY
Standard C library
.RI ( libc ", " \-lc )
.SH SYNOPSIS
.nf
.B #include <unistd.h>
.PP
.BI "int isatty(int " fd );
.fi
.SH DESCRIPTION
The
.BR isatty ()
function tests whether
.I fd
is an open file descriptor referring to a terminal.
.SH RETURN VALUE
.BR isatty ()
returns 1 if
.I fd
is an open file descriptor referring to a terminal;
otherwise 0 is returned, and
.I errno
is set to indicate the error.
.SH ERRORS
.TP
.B EBADF
.I fd
is not a valid file descriptor.
.TP
.B ENOTTY
.I fd
refers to a file other than a terminal.
On some older kernels, some types of files
.\" e.g., FIFOs and pipes on 2.6.32
resulted in the error
.B EINVAL
in this case (which is a violation of POSIX, which specifies the error
.BR ENOTTY ).
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.ad l
.nh
.TS
allbox;
lbx lb lb
l l l.
Interface	Attribute	Value
T{
.BR isatty ()
T}	Thread safety	MT-Safe
.TE
.hy
.ad
.sp 1
.SH STANDARDS
POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD.
.SH SEE ALSO
.BR fstat (2),
.BR ttyname (3)
